package kr.co.mustgo.model.dao.review;

import java.util.List;
import java.util.Map;

import kr.co.mustgo.domain.review.Comment;
import kr.co.mustgo.domain.review.ReviewsBoard;

public interface ReviewsDAO {

	//board 테이블에 내용을 하나 insert
	public abstract int insertPostForNewCount(ReviewsBoard board);
	
	//매개변수로 받은 페이지를 보여줄 글 목록 조회
	public abstract List<ReviewsBoard> selectReviewsBoardList(int page);
	
	//총 게시물의 숫자
	public abstract int selectTotalPost();
	
	//조회수를 1개 update 처리하는 메소드 (글 조회시 호출)
	public abstract int updateViewCount(int no);
	
	//글 번호로 게시물을 조회
	public abstract ReviewsBoard selectPostByNo(int no);
	
	//게시물을 수정
	public abstract int updatePost(ReviewsBoard board);
	
	//게시물을 삭제
	public abstract int deletePostByNo(int no);
	
	//댓글 하나 insert
	public abstract int insertComment(Comment comment);
	
	//댓글 수정
	public abstract int updateComment(Comment comment);
	
	//댓글 하나 삭제
	public abstract int deleteComment(int cmNo);
	
	//원본글에 포함된 댓글들 삭제
	public abstract int deleteCommentByNo(int no);
	
	//댓글 하나 조회
	public abstract Comment selectCommentBycmNo(int cmNo);
	
	//원본 글에 포함된 댓글 조회
	public abstract List<Comment> selectCommentByNo(int no);
	
	//검색된 게시물의 총수
	public abstract int selectTotalSearch(Map map);
	
	//검색된 게시물들 조회
	public abstract List<ReviewsBoard> selectSearchList(Map map);
	
}







